1. Technical Field
The present invention relates generally to automation of Information Technology system development and more particularly to an automated verification of correctness of aspects of an Information Technology system.
2. Related Art
A number of activities are associated with use of a computer. These activities may be grouped into several categories: development, deployment, operations and maintenance, and productive use. The category of development comprises determination of specific hardware, software, and networking required to satisfy the specific usage needs; planning of a production system.
The category of deployment comprises implementation of the developed production system, ranging from acquisition of the appropriate hardware and software to installation, configuration, and customization of acquired software, hardware and network devices, to verification of correctness of the built system.
The category of operations and maintenance comprises operation of the deployed production system and introduction of changes to it.
The category of productive use comprises application of the deployed production system to activities for which it is intended.
The preceding categories of activities are common to computing systems, be it a stand-alone personal computer, or a geographically dispersed collection of highly complex systems supporting an international corporation. The first three of the preceding categories of activities (i.e., development, deployment, operations) are a liability required in support of the last activity category of productive use of a computer system. While for a single stand-alone personal computer, development, deployment and operations may involve miniscule investment of time and/or money (with the exception of the acquisition of the necessary hardware and software), in large institutions, these preceding three activities occupy armies of technical and administrative personnel and entail high costs, primarily due to complexity of computer systems, exacerbated by constantly evolving technology and business requirements.
Thus, there is a need for a method and system to reduce costs and user effort pertaining to Information Technology (IT) development, including implementation of an automated verification of correctness of aspects of an Information Technology system.